Skip to content

Keep drupal/core on the checkout in the core baseline job - #1067

Merged
mglaman merged 3 commits into
mainfrom
core-baseline-prefer-source
Nov 5, 2026
Merged

mglaman merged 3 commits into
mainfrom
core-baseline-prefer-source

Conversation

@mglaman

@mglaman mglaman commented Nov 5, 2026 •

Copy link
Copy Markdown
Owner

Drupal core HEAD baseline check fails before analyzing anything:

Invalid entries in excludePaths:
Path ".../core/tests/phpcs/PhpScriptFilter.php" is neither a directory, nor a file path, nor a fnmatch pattern.

As of Drupal 12.0.0, drupal/core packages don't include tests (change record). The job's composer require step replaces the core checkout with that package, so the paths in core/phpstan.neon.dist no longer exist.

Two changes keep drupal/core on the checkout:

  • Add our path repository under its own key. repositories.0 and repositories.1 were overwriting core's core and RecipeUnpack path repositories.
  • Narrow the composer require. Core's root composer.json no longer requires drupal/core-dev, so the bare require resolved to 8.0.0-beta15, and --with-all-dependencies then updated 72 packages, including drupal/core. Core's require-dev already has what this job needs, so only update PHPStan, phpstan-phpunit, and our package.

What didn't work

The earlier commits on this branch each failed in CI, with Extracting archive still in the log:

  • preferred-install.drupal/core source, which the change record recommends. drupal/core is first installed from the path repository, and DownloadManager::getAvailableSources() keeps a dev package's installation source on update.
  • Keeping the path repository alone. The --with-all-dependencies update still replaced drupal/core.

Testing

Ran the Composer step as a dry run against a clone of core's main:

Command Packages updated drupal/core
Previous command 72 Upgraded to bc43a39, matching CI
This command 5 Stays on 7fa85d2 from the path repository

That covers dependency resolution only. This PR's run of the job is the test for the rest. It should now reach analysis and may report real errors: before the packaging change it was failing on analysis errors. It's continue-on-error, so those don't block merging.

🤖 Generated with Claude Code

mglaman and others added 2 commits November 5, 2026 10:57
Drupal 12 packages no longer include tests, so core's PHPStan config fails
on excludePaths entries that don't exist and the job never analyzes anything.

See https://www.drupal.org/node/3618953

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
preferred-install has no effect here. drupal/core is first installed from
core's path repository, and Composer keeps a dev package's installation source
on update, so it still extracted the archive.

Stop replacing core's repositories, so drupal/core stays on the checkout.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@mglaman mglaman changed the title Install drupal/core from source in the core baseline job Keep core's path repository in the core baseline job Nov 5, 2026
Keeping core's path repository wasn't enough. Core's root composer.json no
longer requires drupal/core-dev, so the bare require resolved to 8.0.0-beta15
and --with-all-dependencies updated 72 packages, including drupal/core.

Only update the packages this job tests. Core's require-dev has the rest.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@mglaman mglaman changed the title Keep core's path repository in the core baseline job Keep drupal/core on the checkout in the core baseline job Nov 5, 2026
@mglaman
mglaman merged commit 8c57bbc into main Nov 5, 2026
19 of 20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant